<?php if (!defined('__FW_RUN__')) exit('not found');
/**
 * conf.configure.php
 *
 * 환경 정보를 할당합니다.
 *
 * @package conf
 * @author  Platform Team
 */

$CONFIGURE = array();

$f = FW_DIR_PROJECT . '/conf/conf.configure.php';
if (is_file($f)) {
    include $f;
}

$f = FW_DIR_MIDDLEWORK . '/conf/conf.configure.php';
if (FW_MIDDLEWORK_USE && is_file($f)) {
    include $f;
}

/**
 * ------------------------------------
 * 국제화 - 활성화 여부
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_enabled']) === false) {

    $CONFIGURE['FW.i18n_enabled'] = false;

}

/**
 * ------------------------------------
 * 국제화 - 언어_지역 코드
 * @link http://wiki.simplexi.com:8080/pages/viewpage.action?pageId=134316372
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_locale']) === false) {

    $CONFIGURE['FW.i18n_locale'] = 'ko_KR';

}

/**
 * ------------------------------------
 * 국제화 - 유효 카테고리
 * 로케일 설정에 영향을 받는 함수들의 유효범위를 설정합니다.
 * 아래 링크의 category 항목을 참고하십시오.
 * @link http://php.net/manual/en/function.setlocale.php
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_locale_category']) === false) {

    $CONFIGURE['FW.i18n_locale_category'] = LC_ALL;

}

/**
 * ------------------------------------
 * 국제화 - MO파일 자동 갱신 여부
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_auto_refresh']) === false) {

    $CONFIGURE['FW.i18n_auto_refresh'] = true;

}

/**
 * ------------------------------------
 * 국제화 - gettext 루트 디렉토리명
 * MO 파일이 존재하는 루트 디렉토리 경로를 지정합니다.
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_directory']) === false) {

    $CONFIGURE['FW.i18n_directory'] = FW_DIR_PROJECT . DS . 'locale';

}

/**
 * ------------------------------------
 * 국제화 - gettext 도메인명 배열
 * 반드시 1차원 배열로 할당 할 것
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_domain']) === false) {

    $CONFIGURE['FW.i18n_domain'] = array('__reserved_x_domain__');

}

/**
 * ------------------------------------
 * 국제화 - gettext 기본 바인딩 도메인명
 * 최초에 할당되는 도메인명을 문자열로 기록합니다.
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.i18n_bind_domain']) === false) {

    $CONFIGURE['FW.i18n_bind_domain'] = '__reserved_x_domain__';

}

/**
 * ------------------------------------
 * 국제화 - gettext 캐시 루트디렉토리명
 * ------------------------------------
 */
$CONFIGURE['FW.i18n_cache_root'] = FW_DIR_CACHE . DS . 'i18n';

/**
 * ------------------------------------
 * 언어코드
 * @deprecated
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.language'])) {

    $CONFIGURE['FW.language'] = 'ko';

}

/**
 * ------------------------------------
 * 데이터베이스 접속 정보
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.database'])) {

    $CONFIGURE['FW.database'] = false;

}

/**
 * ------------------------------------
 * 데이터베이스 EXEC 타입의 쿼리 실행 비활성화
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.database_exec_disabled']) === false) {

    $CONFIGURE['FW.database_exec_disabled'] = false;

}

/**
 * ------------------------------------
 * 세션 데이터 저장타입(memcache, cookie, files, php)
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_type'])) {

    $CONFIGURE['FW.session_type'] = 'cookie';

}

/**
 * ------------------------------------
 * 세션명 - 세션아이디가 구워지는 쿠키명 (쿠키타입은 이곳에 데이터가 저장됩니다.)
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_name'])) {

    $CONFIGURE['FW.session_name'] = 'FW';

}

/**
 * ------------------------------------
 * 세션명  - 세션 데이터 저장타입이 cookie인 경우
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_name_by_cookie'])) {

    $CONFIGURE['FW.session_name_by_cookie'] = 'FWSESSCOOKIE';

}

/**
 * ------------------------------------
 * 세션 도메인 - 유효 도메인 설정
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_domain'])) {

    $CONFIGURE['FW.session_domain'] = '';

}

/**
 * ------------------------------------
 * 세션 데이터 저장경로 - 세션 데이터 저장타입이 files인 경우
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_files_save_path'])) {

    $CONFIGURE['FW.session_files_save_path'] = FW_DIR_TMP;

}

/**
 * ------------------------------------
 * 세션 지속 시간(기본 : 1시간, 0을 입력하면 3년)
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_expire'])) {

    $CONFIGURE['FW.session_expire'] = 3600;

}

/**
 * ------------------------------------
 * 세션 가비지 콜렉터 실행 확률(최대 : 100)
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_gc_probability'])) {

    $CONFIGURE['FW.session_gc_probability'] = 1;

}

/**
 * ------------------------------------
 * 세션 가비지 콜렉터에서 체크하는 생명주기
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_gc_maxlife'])) {

    $CONFIGURE['FW.session_gc_maxlife'] = 7200;

}

/**
 * ------------------------------------
 * 세션 암호화 여부
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_encrypt'])) {

    $CONFIGURE['FW.session_encrypt'] = true;

}

/**
 * ------------------------------------
 * 세션 암호화 핸들러 명 - 현재(12r, ec20)
 * !!WARNING!!
 * ec20 핸들러의 경우 세션드라이버가 'cookie' 인 경우만 정상작동합니다.
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_encrypt_handler'])) {

    $CONFIGURE['FW.session_encrypt_handler'] = '12r';

}

/**
 * ------------------------------------
 * 세션 암호화 IV 키 - 세션 암호화 설정이 활성화됐을 경우에만 유효함
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_encrypt_iv'])) {

    $CONFIGURE['FW.session_encrypt_iv'] = 'simplex@internet';

}

/**
 * ------------------------------------
 * 세션 암호화 MATSER 키 - 세션 암호화 설정이 활성화됐을 경우에만 유효함
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_encrypt_key'])) {

    $CONFIGURE['FW.session_encrypt_key'] = 'masterkey_hahaha';

}

/**
 * ------------------------------------
 * 세션 Memcache Host
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_memcache_host'])) {

    $CONFIGURE['FW.session_memcache_host'] = 'localhost';

}

/**
 * ------------------------------------
 * 세션 Memcache Port
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_memcache_port'])) {

    $CONFIGURE['FW.session_memcache_port'] = 11211;

}

/**
 * ------------------------------------
 * 세션 Memcache persistent connection
 * 연결에 대한 오버헤드가 클 경우 활성화 시키면 도움이 된다
 * ------------------------------------
 */
if (isset($CONFIGURE['FW.session_memcache_persistent']) === false) {

    $CONFIGURE['FW.session_memcache_persistent'] = false;

}

/**
 * ------------------------------------
 * 세션 검증 키 - 세션아이디
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_verify_key_id'])) {

    $CONFIGURE['FW.session_verify_key_id'] = 'session_id';

}

/**
 * ------------------------------------
 * 세션 검증 키 - 아이피
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_verify_key_ipaddr'])) {

    $CONFIGURE['FW.session_verify_key_ipaddr'] = 'ip_addr';

}

/**
 * ------------------------------------
 * 세션 검증 키 - 최초 액세스타임
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_verify_key_init_access'])) {

    $CONFIGURE['FW.session_verify_key_init_access'] = 'init_access_time';

}

/**
 * ------------------------------------
 * 세션 검증 키 - 액세스타임
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_verify_key_access'])) {

    $CONFIGURE['FW.session_verify_key_access'] = 'access_time';

}

/**
 * ------------------------------------
 * 세션 Hash 비트
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_hash_bits_per_character'])) {

    $CONFIGURE['FW.session_hash_bits_per_character'] = 4;

}

/**
 * ------------------------------------
 * 세션 Hash 함수 (0 : md5, 1 : sha1)
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_hash_function'])) {

    $CONFIGURE['FW.session_hash_function'] = 0;

}

/**
 * ------------------------------------
 * 세션 아이피 검증 사용 여부
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_ip_valid_use'])) {

    $CONFIGURE['FW.session_ip_valid_use'] = true;

}

/**
 * ------------------------------------
 * 세션 아이피 체크시 Exception 발생 여부
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_ip_valid_exception_use'])) {

    $CONFIGURE['FW.session_ip_valid_exception_use'] = false;

}

/**
 * ------------------------------------
 * 세션 아이디 쿠키값 생명주기
 * 0 은 브라우져가 닫힐 때까지를 뜻한다
 *
 * !!WARNING!!
 * FW.session_expire 값과 혼동하지 말것
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_cookie_lifetime'])) {

    $CONFIGURE['FW.session_cookie_lifetime'] = 0;

}

/**
 * ------------------------------------
 * 세션 아이디 쿠키값 유효영역
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.session_cookie_path'])) {

    $CONFIGURE['FW.session_cookie_path'] = '/';

}

/**
 * ------------------------------------
 * CGI 환경에서의 PATH_INFO 문제 발생 시 활성화
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.fix_cgi_pathinfo'])) {

    $CONFIGURE['FW.fix_cgi_pathinfo'] = false;

}

/**
 * ------------------------------------
 * SSL 프론트엔드 인터페이스 사용 여부 - AuthSSL 래퍼
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.ssl_frontend_enabled'])) {

    $CONFIGURE['FW.ssl_frontend_enabled'] = false;

}

/**
 * ------------------------------------
 * SSL 백엔드 인터페이스 사용 여부 - ApiSSL 래퍼
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.ssl_backend_enabled'])) {

    $CONFIGURE['FW.ssl_backend_enabled'] = false;

}

/**
 * ------------------------------------
 * SSL 사내서버 여부
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.ssl_in_company'])) {

    $CONFIGURE['FW.ssl_in_company'] = true;

}

/**
 * ------------------------------------
 * SSL 암호화 리퀘스트(GET, POST) 키
 * ------------------------------------
 */
if (!isset($CONFIGURE['FW.ssl_frontend_encrypt_req_key'])) {

    $CONFIGURE['FW.ssl_frontend_encrypt_req_key'] = 'sslwrap_frontend_encrypt_value';

}

/**
 * ------------------------------------
 * SSL 해시키 매니져 API 요청 패스워드
 * (코어 레벨 이외에 참조 금지)
 * ------------------------------------
 */
$CONFIGURE['FW.ssl_hash_manager_passwd'] = '#hq@kqjfu';

/**
 * ------------------------------------
 * SSL IDC 별 호스트 참조
 * (코어 레벨 이외에 참조 금지)
 * ------------------------------------
 */
if (FW_OS_UNIX === true) {
    $CONFIGURE['FW.ssl_idc_loc_path'] = '/etc/cafe24/idc/idc_loc.txt';
} else {
    $CONFIGURE['FW.ssl_idc_loc_path'] = false;
}

/**
 * ------------------------------------
 * SSL 프론트 엔드 해시키 저장 경로
 * (코어 레벨 이외에 참조 금지)
 * ------------------------------------
 */
if (FW_OS_UNIX === true) {
    $CONFIGURE['FW.ssl_frontend_hash_path'] = '/etc/cert_key/client.key';
} else {
    $CONFIGURE['FW.ssl_frontend_hash_path'] = FW_DIR_TMP . DS . 'sslwrap.frontend.key';
}

/**
 * ------------------------------------
 * SSL 백 엔드 해시키 저장 경로
 * (코어 레벨 이외에 참조 금지)
 * ------------------------------------
 */
if (FW_OS_UNIX === true) {
    $CONFIGURE['FW.ssl_backend_hash_path'] = '/etc/cert_key/server.key';
} else {
    $CONFIGURE['FW.ssl_backend_hash_path'] = FW_DIR_TMP . DS . 'sslwrap.backend.key';
}


Configure::load($CONFIGURE);
